home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / pmc_addr < prev    next >
Internet Message Format  |  1995-03-31  |  9KB

  1. From comp.sys.handhelds Sat Apr 13 22:10:34 1991
  2. Path: uncw!ecsvax!ecsgate!mcnc!gatech!ncar!elroy.jpl.nasa.gov!usc!snorkelwacker.mit.edu!ai-lab!rice-chex!bson
  3. From: bson@rice-chex.ai.mit.edu (Jan Brittenson)
  4. Newsgroups: comp.sys.handhelds
  5. Subject: HP-48 PMC addresses
  6. Message-ID: <14722@life.ai.mit.edu>
  7. Date: 6 Apr 91 21:35:30 GMT
  8. Sender: news@ai.mit.edu
  9. Organization: nil
  10. Lines: 254
  11.  
  12.  
  13.    I had grep(1) extract the undocumented PMCs (Prefixed Machine Code)
  14. out of Jake's list. I then reformatted the extract into a shell script
  15. that would (using sed(1)) look up of these that I have documented. So
  16. here is a list of ~200 additional PMC addresses, roughly 1/4 of the
  17. undocumented addresses. Some of these are weak, by which I mean that
  18. they only document what bit is set where, or which word in memory is
  19. cleared, not the effect it has. However, since weak documentation is
  20. just as *correct*, I have included it here. It makes it easier to see
  21. what role a specific bit or word has if it appears as a symbol rather
  22. than a hex constant.
  23.  
  24. The weak symbols look somewhat like follows:
  25.  
  26. Get_xxxxx    Puts the contents of xxxxx on the stack as a short
  27. Get_any_xxxxx    Puts the contents of xxxxx on the stack as an object
  28. Store_xxxxx    Stores the value on TOS in xxxxx
  29. Set_xxxxx    Same, but retains the value on TOS
  30. Store_any_xxxxx
  31. Set_any_xxxxx
  32. Clr_xxxxx    Clears the contents of xxxxx
  33. Test_xxxxx    Tests if contents are nonzero
  34.  
  35. Set_y_xxxxx    The contents of xxxxx is ORed with y
  36. Clr_y_xxxxx    The contents of xxxxx is ANDed with the complement of y
  37.         (aka BIC, bit clear)
  38. Test_y_xxxxx    True if the contents of xxxxx AND y is nonzero
  39.  
  40.  
  41.    Some other variants may occur. Sometimes the "_any" infix is
  42. missing; but implicit by the context, which is why I haven't bothered
  43. adding it. (At the dawn, objects and shorts were created equal. :-))
  44. Sometimes there's a "_nib" infix, in which case only one nybble is
  45. affected, as opposed to a 5-nybble word.
  46.  
  47.     Strcat is different from the string +, in that it appends one
  48. string to the other, and expects there to have been enough space
  49. allocated to hold the resulting string.
  50.  
  51.  
  52. d71:Flush_kbd            /Flushes keyboard buffer
  53. 4708:Peek_lastkey        /Predicate: examine next key in buffer
  54. 5068:Clear_ATTN_flag        /Flush ATTN flag/counter
  55. 65e5:Userobjectp        /Predicate: is object a user object?
  56. 6b4e:System_RAMobjectp        /Predicate: is object system obj in RAM?
  57. 6eeb:Eval_next            /Eval next token in previous context
  58. 6f66:Eval_next_nopush
  59. 8207:Function_to_global        /Pred:Function (built-in XLIB) to global name
  60. 821f:Xlib_to_name_p        /Predicate: XLIB to global name
  61. e248:Set_706b8
  62. e26d:Get_706b8
  63. e27d:Get_706bd
  64. e630:Assert_date        /Assert TOS is a valid date
  65. e66a:Assert_time        /Assert TOS is a valid time
  66. e693:Assert_repeat        /Assert TOS is a valid repeat factor
  67. e7ce:Nonzerop_7079dh
  68. 113c2:Get_stacksize        /Get size of stack, in nybbles
  69. 113d2:Store_stacksize        /Update stack size, in nybbles
  70. 113e2:Store_nib_706f6
  71. 113f2:Get_nib_706f6
  72. 11402:Inc_nib_706f6
  73. 11412:Dec_nib_706f6
  74. 11422:Inc_nib_706ec
  75. 11432:Get_nib_706e7
  76. 11442:Clr_nib_706e7
  77. 11452:Dec_nib_706e7
  78. 11462:Inc_nib_706e7
  79. 11501:Delayed_alock_p        /Predicate: Delayed alpha lock
  80. 11511:Prg_on_p            /Turn on PRG mode
  81. 1155c:Prg_off            /Turn off PRG mode
  82. 1156c:Delayed_alpha_lock_off    /Turn of delayed alpha lock
  83. 1192f=Sub_grob            /GROB-specific SUB
  84. 11a6d:Erase_in_grob        /Erase region of GROB
  85. 13043:Purge_PICT_viewed        /Purge scroll-mode PICT
  86. 13061:Purge_PICT        /Purge PICT
  87. 13167:Scroll_mode_p        /Predicate: Scroll mode?
  88. 137b6:Get_curRowCol
  89. 18308:Recalc_tos_and_gc        /Do GC and recalculate stack
  90. 1884d:Short0_End        /0 END
  91. 18a15:No_args            /Set error reference, no args checked
  92. 2534a:If_nullstr_then        /IF "" == THEN
  93. 268c2:Get_XlibBits01
  94. 269db:XlibMajor_lt700h_p_func    /Predicate: XLIB Library Number > #700?
  95. 26c1c:If_false_then_End        /END if False
  96.  
  97. 27224:If_not_backup_then_eval_prev_context /If not Backup, then Eval_prev_context
  98. 27234:If_not_library_then_eval_prev_context /If not Library, then Eval_prev_context
  99. 27244:If_not_list_then_eval_prev_context /If not List, then Eval_prev_context
  100. 27254:If_not_prg_then_eval_prev_context /If not Program, then Eval_prev_context
  101. 27264:If_not_func_then_eval_prev_context /If not XLIB, then Eval_prev_context
  102. 2b07b:Store_rand_seed        /Set Random Seed
  103. 30805:Nthchar            /Nth char of string as short
  104. 31608:Config_IO            /Reconfigure I/O according to stack data [1]
  105. 324c8=Serial_CR            /Transmit CR on Wire
  106. 37e73:RDM_array_size_nelem_dims_ndims    /RDM an array
  107. 38c08:Store_any_70605
  108. 38c18:Get_any_70605
  109. 38c28:Clr_70605
  110. 38c38:Store_any_7060a
  111. 38c48:Get_any_7060a
  112. 38c58:Clr_7060a
  113. 38c68:Store_any_7060f
  114. 38c78:Get_any_7060f
  115. 38c88:Clr_7060f
  116. 38c98:Store_any_70614
  117. 38cab:Get_any_70614
  118. 38cbe:Clr_70614
  119. 38cd1:Test_4_70688
  120. 38cdf:Set_4_70688
  121. 38ced:Clr_4_70688
  122. 38cfb:Test_8_7068c
  123. 38d09:Set_8_7068c
  124. 38d17:Clr_8_7068c
  125. 38d25:Test_2_7068c
  126. 38d33:Set_2_7068c
  127. 38d41:Clr_2_7068c
  128. 38d4f:Test_8_7068d
  129. 38d5d:Set_8_7068d
  130. 38d6b:Clr_8_7068d
  131. 38d79:Halts_enabled_p        /Predicate: Are HALTs enabled?
  132. 38d8a:Enable_Halt        /Enable HALTs
  133. 38d9b:Disable_Halt        /Disable HALTs
  134. 39275:Frozen_status_alt3
  135. 39283:Freeze_status_alt3
  136. 39291:Unfreeze_status_alt3
  137. 3929f:Frozen_stack_p_alt
  138. 392ad:Freeze_stack_alt
  139. 392bb:Unfreeze_stack_alt
  140. 392c9:Test_2_70689
  141. 392d7:Set_2_70689
  142. 392e5:Clr_2_70689
  143. 392f3:Frozen_menu_p_alt
  144. 39301:Freeze_menu_p_alt
  145. 3930f:Unfreeze_menu_p_alt
  146. 3931d:Frozen_status_alt2
  147. 3932b:Freeze_status_alt2
  148. 39339:Unfreeze_status_alt2
  149. 39347:Frozen_stack_p_alt2
  150. 39355:Freeze_stack_alt2
  151. 39363:Unfreeze_stack_alt2
  152. 39371:Test_2_70686
  153. 3937f:Set_2_70686
  154. 3938d:Clr_2_70686
  155. 3939b:Frozen_menu_p_alt3
  156. 393a9:Freeze_menu_alt3
  157. 393b7:Unfreeze_menu_alt3
  158. 393c5:Frozen_status_p
  159. 393e1:Unfreeze_status
  160. 393ef:Frozen_stack_p
  161. 3940b:Unfreeze_stack
  162. 39419:Test_4_7068a
  163. 39427:Set_4_7068a
  164. 39435:Clr_4_7068a
  165. 39443:Menu_frozen_p
  166. 3945f:Unfreeze_menu
  167. 3946d:Test_1_7068b
  168. 3947b:Set_1_7068b
  169. 39489:Clr_1_7068b
  170. 39497:Test_2_7068b
  171. 394a5:Set_2_7068b
  172. 394b3:Clr_2_7068b
  173. 394c1:Test_4_7068b
  174. 394cf:Set_4_7068b
  175. 394dd:Clr_4_7068b
  176. 394eb:Test_8_7068b
  177. 394f9:Set_8_7068b
  178. 39507:Clr_8_7068b
  179. 39515:Clock_marked_on_p    /Predicate: Saved clock displayed state (on/off)
  180. 39523:Mark_clock_on    /Set saved clock displayed state to ON
  181. 39531:Mark_clock_off    /Set saved clock displayed state to OFF
  182. 3953f:Test_4_70683
  183. 3954d:Set_4_70683
  184. 3955b:Clr_4_70683
  185. 39569:Test_1_70683
  186. 3957a:Set_1_70683
  187. 3958b:Clr_1_70683
  188. 39fb0:Test_2_70683
  189. 39fc1:Set_2_70683
  190. 39fd2:Clr_2_70683
  191. 3ff75:Test_4_7068c
  192. 3ff86:Set_4_7068c
  193. 3ff97:Clr_4_7068c
  194. 3ffa8:Test_1_70688
  195. 3ffb9:Set_1_70688
  196. 3ffca:Clr_1_70688
  197. 417af:Clr_4_70684
  198. 417c0:Set_4_70684
  199. 417d1:Test_4_70684
  200. 417e2:Clr_8_60686
  201. 417f3:Set_8_70686
  202. 41804:Test_8_70686
  203. 41815:Clr_8_70684
  204. 41826:Set_8_70684
  205. 41837:Test_8_70684
  206. 4248e:Store_70619
  207. 424a1:Get_70619
  208. 424b4:Test_70619
  209. 424c7:Clear_70619
  210. 44407:Get_nth_edit_char
  211. 515cd:Set_type_to_grob        /Set object type to GROB
  212. 51a4a:Conj_Swap_re_im        /CONJ, then swap RE, IM parts
  213. 51a5f:Swap_re_im_conj        /Swap RE, IM parts, then CONJ
  214. 51b2a:Zerop_lcmplx        /Predicate: Long Complex == (0,0)?
  215. 51b43:Zerop_cmplx        /Predicate: Complex == (0,0)?
  216. 51b91:Neg_lcmplx        /NEG Long Complex
  217. 51bc1:Conj_lcmplx        /CONJ Long Complex
  218. 538c0:Laststack_enabled_p    /Predicate: LAST STACK enabled?
  219. 53930:Print_format_on_p        /Predicate: string conversion in print fmt?
  220. 5393e:Setbit_8_70685
  221. 5394c:Clrbit_8_70685
  222. 5395a:Testbit_8_70685
  223. 53968:ALGmodep            /Predicate: ALG mode on?
  224. 53976:ALGmode_on        /Turn ALG mode on
  225. 53984:ALGmode_off        /Turn ALG mode off
  226. 53992:Marked_Istk        /Predicate: In Interactive Stack?
  227. 539a0:Toggle_marked_Istk    /Toggle Interactive Stack
  228. 539ae:Mark_Istk_off        /Exit Interactive Stack
  229. 539bc:Testbit_2_7068d
  230. 539ca:Setbit_2_7068d
  231. 539d8:Clrbit_2_7068d
  232. 53a12:Toggle_INS_mode        /Toggle INS mode
  233. 53a20:INS_Mode_off        /Turn INS mode off
  234. 53a2e:INS_mode_on        /Turn INS mode on
  235. 53a3c:INS_mode_p        /Predicate: INS mode?
  236. 53a4a:ImmedEntry_p        /Predicate: Immediate Entry?
  237. 53a66:ImmedEntry_off        /Turn Immediate Entry off
  238. 53a74:Testbit_4_7068d
  239. 53a82:Setbit_4_7068d
  240. 53a90:Clrbit_4_7068d
  241. 53a9e:Clock_on_p        /Clock displayed?
  242. 53ac8:Testbit_8_70683
  243. 53ad6:Setbit_8_70683
  244. 53ae4:Clrbit_8_70683
  245. 54050:Get_bin_base        /Binary base as short (<10>)
  246. 61910:If_not_true_then_drop_end    /IF NOT.TRUE THEN DROP END
  247. 619cb:Continue_at        /Chain to address
  248. 61a6d:End_Eval
  249. 61fa9:Dup_Builtin_xlib_p    /DUP, Predicate: True if XLIB is built-in
  250. 61fb6:Builtin_xlib_p        /Predicate: True if XLIB is built-in
  251. 62001:Roll4_Roll4        /Swap level 1 with 3 and 2 with 4
  252. 62289:Dup_Eq3p            /DUP, Predicate: == Short 3?
  253. 6229a:Equal2p            /Predicate: == Short 2?
  254. 622a7:Equal1p            /Predicate: == Short 1?
  255. 622b6:NotEqual1p        /Predicate: != Short 1?
  256. 622c5:Dup_Equal1p        /DUP, Predicate: != Short 1?
  257. 622d4:Dup_Nonzerop        /DUP, Predicate: != Short 0?
  258. 62394:Swap_Strcat        /SWAP, Strcat
  259. 623a0:Strcat            /Add level 1 to level 2 string
  260. 624fb:Sub_Div2            /- Short 2 /
  261. 64127:Is_Lev1_insideLev2p    /Predicate: is level 1 obj part of level 2 obj?
  262.  
  263.  
  264.                         -- Jan Brittenson
  265.                            bson@ai.mit.edu
  266.  
  267.